package com.psy.counseling.config;

import cn.dev33.satoken.interceptor.SaRouteInterceptor;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpUtil;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Author 梁学儒
 * @Date 2022/5/30 14:58
 * @Version 1.0
 */

@Configuration
public class SaTokenConfig implements WebMvcConfigurer {
    /**
     *   未登录的话只放行这两个页面
     **/
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 注册Sa-Token的路由拦截器
        registry.addInterceptor(new SaRouteInterceptor((resquest , response, handler) -> {
            //用户登录页面的拦截 除了/user/login以外的所有user/接口都需要登录才能访问
           SaRouter.match("user/**", "user/login", r -> StpUtil.checkLogin());
           //管理员登录页面
           SaRouter.match("admin/**", "/admin/login", r -> StpUtil.checkLogin());
        })).addPathPatterns("/**");

    }
}
